package cn.com.paycn.ken.dao;

import java.io.Serializable;
import java.util.List;
import java.util.Map;
import org.hibernate.Session;

public abstract interface BaseDao {
  public abstract Session getSession();

  public abstract Serializable save(Object paramObject);

  public abstract void delete(Object paramObject);

  public abstract int delete(String paramString, Object[] paramArrayOfObject);

  public abstract int delete(String paramString, Map<String, Object> paramMap);

  public abstract int deleteBySQL(String paramString, Object[] paramArrayOfObject);

  public abstract void update(Object paramObject);

  public abstract int update(String paramString);

  public abstract int update(String paramString, Object[] paramArrayOfObject);

  public abstract int update(String paramString, List<String> paramList);

  public abstract int update(String paramString, Map<String, Object> paramMap);

  public abstract void saveOrUpdate(Object paramObject);

  public abstract Object first(String paramString);

  public abstract Object first(String paramString, Object[] paramArrayOfObject);

  public abstract Object first(String paramString, Map<String, Object> paramMap);

  public abstract <T> T get(Class<T> paramClass, Serializable paramSerializable);

  public abstract Object get(String paramString, Object[] paramArrayOfObject);

  public abstract Object get(String paramString, Map<String, Object> paramMap);

  public abstract List find(String paramString);

  public abstract List find(String paramString, Object[] paramArrayOfObject);

  public abstract List find(String paramString, Map<String, Object> paramMap);

  public abstract List find(String paramString, Integer paramInteger1, Integer paramInteger2);

  public abstract List find(String paramString, Integer paramInteger1, Integer paramInteger2, List<Object> paramList);

  public abstract List find(String paramString, Integer paramInteger1, Integer paramInteger2, Map<String, Object> paramMap);

  public abstract Long count(String paramString);

  public abstract Long count(String paramString, Object[] paramArrayOfObject);

  public abstract Long count(String paramString, List<Object> paramList);

  public abstract Long count(String paramString, Map<String, Object> paramMap);
}